/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.proyecto.datos;

import java.util.ArrayList;
import java.sql.*;

/**
 *
 * @author mario
 */
public class EntityMateria implements OperacionesDB {

    private int id_materia;
    private String codigo_asignatura;
    private String nombre;
    int id_plan;
    private String entNombre_plan;

    public EntityMateria() {
    }

    public EntityMateria(int id_materia, String codigo_asignatura, String nombre,int id_plan,String entNombre_plan) {
        this.id_materia = id_materia;
        this.codigo_asignatura = codigo_asignatura;
        this.nombre = nombre;
        this.id_plan=id_plan;
        this.entNombre_plan = entNombre_plan;
    }

    public int getId_materia() {
        return id_materia;
    }

    public void setId_materia(int id_materia) {
        this.id_materia = id_materia;
    }

    public String getCodigo_asignatura() {
        return codigo_asignatura;
    }

    public void setCodigo_asignatura(String codigo_asignatura) {
        this.codigo_asignatura = codigo_asignatura;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    @Override
    public String EjecutarComando(String cadenaSQL) {
        Connection cn;
        Statement st;
        String msj;
        try {
            ConnDB db = new ConnDB();
            Class.forName(db.getDriver());
            cn = DriverManager.getConnection(db.getCadenaCon(), db.getUsuario(), db.getContrasenna());
            st = cn.createStatement();
            st.execute(cadenaSQL);
            st.close();
            cn.close();
            msj = "Comando ejecutado con exito";
        } catch (Exception ex) {
            msj = "El comando no pudo ser ejecutado";
            System.out.println(ex.toString());
        }
        return msj;
    }

    @Override
    public ArrayList EjecutarConsulta(String cadenaSQL) {

        ArrayList arry = new ArrayList();
        Connection cn;
        Statement st;
        ResultSet rs;

        try {
            ConnDB db = new ConnDB();
            Class.forName(db.getDriver());
            cn = DriverManager.getConnection(db.getCadenaCon(), db.getUsuario(), db.getContrasenna());

            st = cn.createStatement();
            rs = st.executeQuery(cadenaSQL);
            rs.beforeFirst();

            while (rs.next()) {

                arry.add(new EntityMateria(rs.getInt("m.id_materia"), rs.getString("m.cod_asignatura"), rs.getString("m.nombre_materia"),rs.getInt("m.PLAN_id_plan"), rs.getString("p.nombre_plan")));

            }

            rs.close();
            st.close();
            cn.close();

        } catch (Exception ex) {
            arry = null;
            System.out.println(ex.toString());
        }


        return arry;
    }

    public String getEntNombre_plan() {
        return entNombre_plan;
    }

    public void setEntNombre_plan(String entNombre_plan) {
        this.entNombre_plan = entNombre_plan;
    }
}